A processor with multiple (e.g., two or more) cores may include resources that are shared by multiple threads executing on the multiple physical or logical cores. A single physical core may provide multiple logical cores using techniques such as simultaneous multi-threading (e.g., Hyper-threading). The multiple threads executing on the multiple cores may contend with each other to access the relatively few resources.